package br.ufrn.execicios.jsf.ui;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;

import br.ufrn.execicios.jsf.commons.FacesUtil;
import br.ufrn.execicios.jsf.dataServer.AnunciosDataServer;
import br.ufrn.execicios.jsf.models.Anuncio;

@SuppressWarnings("serial")
@RequestScoped
@ManagedBean
public class AnunciosBean extends AbstractSecuredBean implements Serializable{
	
	private Anuncio anuncio=new Anuncio();
	
	@ManagedProperty(value = "#{param.anuncio}")
	private String codAnuncio;
	
	private AnunciosDataServer ds ;
	
	@PostConstruct
	public void onInit(){
		ds= new AnunciosDataServer();
		
	}
	public String salvarAnuncio(){
		
		try {
			if(anuncio.getCodigo()==null){
				anuncio.setUsuario(getUsuarioLogado());
				anuncio.setData(new Date());
				ds.adicionarAnuncio(anuncio);
			}
			else
				ds.alterarAnuncio(anuncio);
			return "jsf/usuario/meusanuncios?faces-rediret=true";
			
		} catch (Exception e) {
			FacesUtil.adicionarMensagem(FacesMessage.SEVERITY_ERROR, "Erro ao salvar o anuncio");
			return "jsf/anuncio/cad_anuncios";
		}
	
		
		
	}
	public Anuncio getAnuncio() {
		if(codAnuncio!=null)
			anuncio=ds.getByCodigo(codAnuncio);
		
		return anuncio;
	}
	public void setAnuncio(Anuncio anuncio) {
		this.anuncio = anuncio;
	}
	public String getCodAnuncio() {
		return codAnuncio;
	}
	public void setCodAnuncio(String codAnuncio) {
		this.codAnuncio = codAnuncio;
	}


	


	

}
